A beam, referred to in the present invention, is a processed output target signal of multiple receivers. A beamformer is a spatial filter that processes multiple input signals (spatial samples of a wave field) and provides a single output picking up the desired signal while filtering out the signals coming from other directions. The term adaptive beamformer refers to a well-known generalized sidelobe canceller (GSC), which is a combination of a beamformer providing the desired signal output and an adaptive interference canceller (AIC) part that produces noise estimates that are then subtracted from the desired signal output further reducing any ambient noise left there on the desired signal path. There are also other adaptive beamforming methods and their modifications but they all have the same fundamental problems. Desired signal is, e.g. a speech signal coming from the direction of the source and noise signals are all other signals present in the environment including reverberated components of the desired signal. Reverberation occurs when a signal (acoustical pressure wave or electromagnetic radiation) hits an obstacle and changes its direction possibly reflecting back to the system from another direction.
Filter and sum beamformers provide a robust beamforming technique that is very flexible and can be optimized for many array configurations. The main disadvantage of filter and sum beamformers is that the number of microphones and the size of the array set a limit to their performance. In mobile applications the size of the array is usually limited by the physical size of the product and the increase in the number of microphones introduces undesirable mechanical design complications and increases the manufacturing costs. Therefore, techniques that improve the beamformer performance through improved digital signal processing techniques can reuse the CPU capabilities of the product platform and provide a cost efficient multi-microphone front-end compared to increasing the number of microphones.
A major problem in prior-art GSC adaptive filtering is the desired signal leakage to the adaptive filters that causes desired signal deterioration in the system output. The operation of the adaptive filter influenced dramatically by the characteristics of the background noise estimate. When the desired signal is “leaking” to the background noise estimate, the adaptive filter will try to remove those signal components from the (desired) output. This is a typical problem in nearly all prior-art adaptive beamforming filter systems.
Also, when the target is moving, the beam direction must be changed accordingly requiring calculation of a new blocking matrix or using pre-steering as described by Claesson and Nordholm, “A Spatial Filtering Approach to Robust Adaptive Beaming”, IEEE Trans. on Antennas and Propagation, Vol. 40, No. 9, Sep. 1992. In prior-art systems steering is typically not considered and the beamformer is assumed to point in only one known fixed look (target) direction. Products that utilize multimicrophone beamforming do not follow the target signal either.
In conventional GSCs, it can be possible to try preventing a desired signal cancellation by restricting the performance of the adaptive filters (e.g. leaky LMS, least-mean-square) and/or widening the spatial angle used for blocking. Usually this means that there is a compromise between the desired protection of the desired signal and cancellation of the background noise. The operation of several adaptive methods is also relying on rather advanced control of the adaptive filter. The filter adaptation is only active when the desired signal is not present. This tries to prevent the adaptive filter to adapt to the signal characteristics of the desired signal.
Prior-art solutions are sub-optimal in a sense that they (e.g., leaky LMS adaptive filters) may not provide as good interference cancellation as would be possible without restricting the performance of the adaptive filter. Also, the blocking matrix is conventionally formed as a filter that is calculated as a complement to the beamforming filter and, therefore, changing the look (target) direction of the beamformer requires typically a rather exhaustive recalculation of the complementary filter when the desired signal source moves around. Filtering characteristics of the typical blocking matrix “sub-filters” are usually quite limited in performance, these filters are usually just providing one null towards the source e.g. by subcontracting two parallel microphone signals aligned in phase towards the source direction.
The description of the beamforming filter response as a pair of 2D beamforming filters has been suggested by S. Nordebo et al., “Broadband adaptive beamforming: A design using 2-D spatial filters” Antennas and Propagation Society International Symposium, MI, USA 1993, but this article illustrates the design problem as a generalization of GSC filter design problems and no feasible implementation is described or suggested. In terms of memory efficiency or CPU load the suggested implementation provides no improvement. The memory efficiency in beam steering becomes increasingly important since the order of memory and CPU resources increases linearly with the number of blocking filters Bi as described by Nordebo et al. Direct application of Nordebo et al. method would suggest that complementary filters would be stored in memory, which requires that filter coefficients are stored separately for each look (target) direction. In that case, then, the actual look (target) direction of the beamformer is restricted to the look directions obtained from the pre-calculated filters in the memory. One more alternative is to use pre-steering of the array signals towards the desired signal source (desired signal is in-phase on all channels). However, pre-steering requires either analog delays or digital fractional delay filters, which, in turn, are rather long and therefore complex to implement.